home *** CD-ROM | disk | FTP | other *** search
/ Zoom 2 / Zoom - Release 2 (1996)(Active Software)[!].iso / programming / blitz / makefile / docs / makefile.doc < prev   
Encoding:
Makefile  |  1996-04-24  |  6.5 KB  |  156 lines

  1.          Documentation for MAKEFILE v1.0
  2.      This program is public domain, share and enjoy.
  3.  
  4.                 NOTE!
  5. In the future, you might see a version that crunches the datas before linking
  6. them, as well as support for multiple directories. Please contact me if
  7. your interested. It would be like a portable/includeble .pkzip for your program.
  8.         ----------------------------------------------
  9.                    What is Makefile?
  10.         ----------------------------------------------
  11. When you'r working on large tasks, like coding games or massive utillities,
  12. you alsways end up with a large number of files.
  13. The only solution to this problem, is either to include all files in your code,
  14. or simply link them all into one solid file - that is parted afther loading.
  15.  
  16. And thats exactly what makefile does.
  17. It allowes you to take all the files inside a directory, and link them
  18. together into one solid file. You can ofcource also UNlink them at will.
  19.  
  20. You must remember that it does not 'link' them like Blink or Alink, it simply
  21. glues them together, and patches an info structure at top of the file.
  22. The info structure is very straight forward, so even the most novice programmer
  23. can access the lik-files.
  24.  
  25. So as you can imagine, this little program will not only save you barrels
  26. of loading time, but it will help you keeping track of your development files.
  27.  
  28. I have found this utillity to function very well when developing games, i had
  29. to add support for my ARVP standard in all my other game-editors, but the
  30. results really helped me to keep an overview of things, thus, saving time.
  31.  
  32. If you have ever bought adventure games like Indiana jones and installed the
  33. game to your harddisk, you will see that each level of the game is one
  34. solid file called a .BOLT file. Now you can do exactly the same thing, the
  35. ARVP info structure is simple to use, you can access it from Assembler,Blitz
  36. Basic, Amos Basic, or whatever, with very little programing.
  37.  
  38. ----------------------
  39. Things to know about MAKEFILE
  40.  
  41. 1- it is not like Lharch or pkzip that allows you to link multiple directories.
  42. 2- If it finds a directory inside its 'source directory', it will be ignored!!!
  43. 3- It allocates memory when linking, i am working on a version that will
  44.    create a dummy file on your Hd, and insert the datas as it links, so no
  45.    memory is used. But for now, you cant link files that sums up larger than
  46.    your CHIPMEMORY!!
  47. 4- Programmed in 8 houres using Blitz Basic 2 on a bog standard A1200+Hd.
  48. 5- Dedicated to the ***<Blitz usergroup Int>****
  49.    For membership write to : BLITZ, Matthew Tillett
  50.                  27 Hillside avenue,Worlingham, Beccles
  51.                  Suffolk, NR34 7AJ
  52.                  England.
  53.  
  54. 6- You can contact me, the author of this program at :  Jon L.Berg,
  55.                             Olleveien 8
  56.                             N-3240 Andebu
  57.                             Norway
  58.  
  59.             ---------------------------
  60.             1-2-3-HOW TO USE MAKEFILE!!
  61.             ---------------------------
  62.   You are asked 3 questions when you start Makefile, here is what you do.
  63.  
  64.  
  65. If you want to link a directory into one file, do the following.
  66. ~~     ~~~~    ~~~~
  67. 1- when the program asks you what to do (link or Unlink), type 'l' and
  68.    press return.
  69. 2- The program now want to know the 'source directory', simply type in the
  70.    full path of your desired directory, and press return.
  71. 3- The program now wants to know the destination filename, simply type
  72.    in the filename, again with a full path, and press return.
  73.  
  74. The program will now link all files in the 'source' directory into one file!
  75. Remember that if any other directories are present inside your source dir,
  76. they will be ignored!!!
  77.  
  78. If you want to UNlink a previously linked file into a directory, do this.
  79. ~~     ~~~~    ~~~~~~
  80. 1- when the program asks you what to do (link or Unlink), type 'u' and
  81.    press return.
  82.  
  83. 2- The program now wants to know the source filename, simply type
  84.    in the name of a previously linked file,remember to type a full path,
  85.    and press return.
  86.  
  87. 3- The program now want to know the 'Destination directory',simply type in the
  88.    full path of your desired directory, and press return.
  89.  
  90. Thats it, now study the very simple ARVP info header, and bolt it into your
  91. system!.
  92. ------------------------------
  93.     THE ARVP info structure...
  94.  
  95. The info structure is put on top of the glued datas so they are easy to
  96. access.
  97.  
  98.           # = number of files
  99.           * = multiply by number of files.
  100.  
  101.                   +-------------------------------------+
  102.                   | Long: "ARVP"  - Header start token  |
  103.                   +-------------------------------------+
  104.                   | Long: #Files  -files in link        |
  105.                   +-------------------------------------+
  106.                   | Long: *files  -Bytesize of each file|
  107.                   +-------------------------------------+
  108.                   | Byte: *files  -All filenames        |
  109.                   +-------------------------------------+
  110.                   | Long: "CBDB"  -End of info Token    |
  111.                   +-------------------------------------+
  112.                   |                                     |
  113.                   |         Actual file datas           |
  114.                   |                                     |
  115.                   +-------------------------------------+
  116.           | Long: "EXDB"  -End of Data Token    |
  117.                   +-------------------------------------+
  118.  
  119.  
  120. (LONG: "ARVP")
  121. This is simply a longword containing the letters 'ARVP', use this to
  122. check and see if the file you are accessing really is a linked file.
  123. It also means 'start of info structure'.
  124.  
  125. (Long: #files) 
  126. This longword contains the exact ammount of files that has been linked
  127. together.
  128.  
  129. (Long: *files) 
  130. Here is a series of longword containing the bytesize of each file linked,
  131. if have linked 10 files, then there will be 10 longwords at this point.
  132. Simply read off the '#files'(above) to know how many longwords are there.
  133.  
  134. (Byte: *files)
  135. All the names of each file linked are stored from this point, each filename
  136. ends with a zero-byte, or a single byte containing the value $0.
  137. Again you must use the '#files' to know how many filenames are there.
  138.  
  139. (long: "CBDB")
  140. Again a longword containing letters, this means 'end of info structure', it
  141. is wise to check this longword, so you know you havent done anything wrong.
  142.  
  143.  
  144. *THE FILE DATAS..
  145. All files are stored here. They are not EVEN in any way, just simply stored
  146. directly - on the byte- afther each other.
  147. Use the 'file sizes' to know how much to store to disk, and what to call it.
  148.  
  149. (long: "EXDB")
  150. This is the end of data token, check for this token to see that you haven't
  151. lost any datas in the process...
  152.  
  153.  
  154.                 HOPE YOU ENJOY THIS PROGRAM!!!!
  155.                         JON LENNART BERG. 1996.
  156.